上海笃耀信息科技有限公司

计算机软件鼻祖是位女士

来源:摆渡知道 发布时间:2020-02-07 13:49:50

计算机软件鼻祖是个女的
编译软件最早是由谁发明出来的
Grace Murray Hopper
格蕾丝·赫柏 1906年12月9日出生于美国纽约 数学博士 计算机软件工程第一夫人 杰出的计算机科学家 海军将军
Grace Hopper (1906–1992), 本姓Murray, Hopper为夫姓

1945年9月9日,格蕾丝使用的Mark Ⅱ出现故障,导致工作无法进行
经过了近一天的检查,格蕾丝找到了故障的原因:继电器中有一只死掉的蛾子
蛾子被夹了出来 后来,”bug” (小虫) 和”debug” (除虫) 这两个本来普普通通的词汇成了计算机领域中特指莫明其妙的“错误”和“排除错误”的专用词汇而流传至今,
而格蕾丝·赫柏也因此成了第一个发现“bug”的人
格蕾丝·赫柏发明了世界上第一个编译器——A-0 系统
到1956年,她开发出来一套很完整的程序语言,叫做FLOW-MATIC
格蕾丝为解决某些使用问题,写了一套称作“Validation”的程序
后来,它渐渐发展出一套偏向于商用的新语言,就是著名的COBOL(Common Business Oted Language)
因此,格蕾丝·赫柏被称为COBOL之母
由于格蕾丝·赫柏晚年对海军系统计算机高级语言的标准化和普及工作突出的贡献,她于1985年11月升职为海军少将,是美国第一个到达这个官阶的女性
1992年1月1日,格蕾丝·赫柏逝世,享年85岁
同年1月7日,在华盛顿阿灵顿国家公墓,美国海军为她举行了隆重的葬礼
4年后的1996年1月6日,美国海军在缅因州的巴斯港为新建造的一艘阿利·伯克级驱逐舰举行了隆重的命名仪式,把它命名为“赫柏号”

1906年12月9日生于美国纽约海军世家 祖父军衔曾达少将 外祖父高级土木工程师 常带着她去上班 她十分高兴地去帮着扶红白相间的测量杆 这培养了她对于几何学和数学的兴趣
Grace的父亲因患动脉硬化导致双腿截肢 长期住院 这使得作为长女的她从小就更加懂事和勤奋
Grace回忆她小时候最喜欢上的课是数学课 特别是几何课
因为在几何课上 她可以把铅笔盒里所有彩色的笔全部拿出来用
虽然她是个女孩子 可是各种量角器、计算尺她都喜欢拿来玩 研究它们的原理和作用
她还做过一些很像男孩子做的事情:她曾经在六、七岁的时候 把家里所有的钟都拆开 但是没有一个成功装回去 因此还受到了严厉的处罚

进入大学之前 Grace就读于私立的Wardlaw-Hartridge学校
1928年她大学毕业于瓦萨学院 (Vassar College) 并取得数学和物理的双学士学位 在校期间是美国资优学生联谊会 (Phi-Beta-Kappa Society) 成员 (PBK是一个有着两百多年历史的 很好很强大的学生社团 老布什、克林顿、厄普代克都曾是其中一员)
进入耶鲁大学攻读数学硕士 在 1930 年得到硕士学位
1930年6月15日她与Vincent Foster Hopper结婚 (Vincent是纽约大学英文系教授 1945年过世 他与Hopper没有生育子女)
结婚没多久 Grace就决定要攻读博士 于是她一边教书 一边在耶鲁大学进修博士学位 并在 1934 年取得学位 前后只花了四年的时间相当快
她的博士论文题为《代数方程可约的一个新准则》 (A New Criterion for Reducibility of Algebraic Equations), 但是让许多人惊奇的是 她是用几何方法证明这个准则的
作为一个女性 获得数学博士学位是一个很大的成就 因为在数学上取得成就而获得博士学位本身就是很困难的
据统计 从1862-1934年间 全美总共授予1279个博士学位 平均每年不到18个 而女性获得数学博士学位的就更是凤毛麟角了
在求职方面 女数学家通常只能到高中教课 极难希望上大学讲台 但Grace做到了:她在硕士毕业后被母校瓦萨学院聘任 短短几年就从助教升到副教授
不过 到这个阶段为止 看不出来她会跟计算机产生任何关系

1941年是Grace人生的转折点
珍珠港事件后 Grace有了从军的念头 她想加入海军 当时女性从军都是做后备军人 大部分都是护士 要不然就是做后勤
如果是受过高等教育的女性 就会被分配去做有关计算的工作 由于家庭传统 她选择了参加海军的WAVES组织 (Women Accepted for Voluntary Emergency Service)
在马萨诸塞州北安普敦 (Northampton, MA) 的海军军官学校接受培训以后 她被授予上尉军衔 考虑到她的数学背景
她被派到哈佛大学的Howard Aiken (1900-1973) 教授手下参与Mark I的研制工作 Aiken教授是1939年的哈佛物理博士 也是Mark I、II、III、IV这一系列电机计算机的设计及制造者

Mark I原来的名字是ASCC (Automatic Sequence Controlled Calculator), 由哈佛大学与IBM合资建造 完成于1943年 重35吨 内部线路长达500英里 但是在1944年的Mark I启用典礼之后 IBM和哈佛就闹翻了 原因是哈佛认为IBM只是个出钱的财主 主要的智力贡献是哈佛人的功劳 IBM认为自己也在工程上做了许多研究和创新 而哈佛却认为那些工程上的创新都不值一提
所以IBM就从哈佛的Mark计划中退出
后来的十年间 IBM在学术界的主要合作伙伴 变成了哥伦比亚大学 (都是牛中牛校..)


荣耀
Grace Hopper's Bug
第二次世界大战结束后 所有的后备军人应当退役 但是Grace Hopper却决定辞去瓦萨学院的教职
专心在Aiken的实验室里做个Programmer.
1949年 Grace离开哈佛来到费城 进入Eckert和Mauchley合开的计算机公司 (Eckert-Mauchley Computer Corporation)
担任资深数学家 主要工作是设计软件
这家公司设计出来的第一套电子计算机 也是全世界的第三台电子计算机
叫做UNIVAC I. 1950年公司因经营不善 被Remington Rand收购
没过多久 Remington Rand又跟几家小公司合并成立了Sperry.
Grace一直在这家公司做资深数学家和程序设计人员 到1971年65岁退休 她才离开这家公司
Grace对计算机界的贡献相当多
Bug这个名词的引用 其实只算是一个小小的插曲
她最大的贡献是发明了世界上第一个编译器 (Compiler), 名字叫做A-0.
当时是没有任何组合语言及程序语言存在的
所有的程序设计人员都要把程序翻译成机器码 即”0011000101011″这样的形式 在纸上打孔 再送到机器里去读
Grace在进入Eckert-Mauchley公司之后 便产生了一种想法 她想设计一种程序 让人可以用类似英文的语法 把想做的事写下来
然后用这个程序把英文翻译成机器的语法 交给机器去执行
这个想法就是今日的Compiler (编译器).
当初她提出这样的构想时 众人皆曰不可
所有人都告诉她计算机只能做计算 只能处理数字 计算机是不懂英文的
在50年代 大部分人都尚未意识到计算机是用来处理信息的工具 所有的人就认为计算机只是个计算器而已
Grace Hopper可能是第一个想到这个问题并且有机会做下去的人
尔后 她就到处去演讲以筹集资金来做这项计划 这段期间 有很多朋友问她:“你怎么这么勇敢呢? 万一搞砸了 你该怎么办?”Grace回答道:
“It is always easier to ask forgiveness than it is to get permission.”
(以后要道歉 比现在要拿到钱简单多了 )
这句话后来成为她一生中的至理名言之一

当初在写世界上第一个编译器A-0时
为了向能出钱的老板炫耀 Grace还设计了三个版本:英文版、德文版、法文版
表明编译器不仅看得懂英文 也看得懂德文跟法文
但后来德文版和法文版的编译器都没再做下去
到1956年 她开发出来一套很完整的程序语言 叫做FLOW-MATIC.
海军采用了这套系统 (这时Grace还是海军的一员)
因为海军幅员广大 如果各地自行稍加将编译器修改一小部分 就会发生A地的程序在B地无法执行的问题
于是Grace写了一套程序 用来检查这些程序之间是不是采用同样的编译方式 称作Validation.
后来影响到民间 渐渐发展出一套新的语言 偏向于商业使用的语法 这套程序语言就是著名的COBOL (Common Business Oriented Language).
这也是Grace Hopper对计算机界的第二个重大贡献
在那个年代总共只有三种程序语言:COBOL、ART、FORTRAN (IBM的产品).
有人把Grace叫做“COBOL之母” 这个称号虽然被学术界的某些人所反对 (因为她没有直接参COBOL语言的设计工作)
但她对COBOL的形成与发展所起的重大作用却是世人一致公认的
据20世纪80年代初的统计 全美在运行中的程序有80%是用COBOL语言编写的 由此可见COBOL语言对计算机应用发展所起的作用
是Grace颁奖给Donald E. Knuth (神一般的存在) 的照片
前者是开创计算机程序设计语言的早期领袖之一 后者是计算机程序算法的当代领袖之一

1966年 Grace Hopper满60岁 她当时的官阶是海军中校 而海军中校60岁就该退休了
退休的那一天 Grace说这是她一生中最悲伤的一天 因为别人已经告诉她:她太老了
但很快 海军发现离了Grace还不行——有个工资管理程序重写了823次还是不能正常运行
因此 她刚从海军退休半年就又被海军召回重新服役 负责海军系统计算机高级语言的标准化和普及工作并且一干就是20年 直到1986年8月14日才正式最后退休
这期间她的军衔一再提升 1985年被提升为少将
由于这超过了美国法律规定的军官服役年龄 国会还通过了专门的法律使对Grace的任命合法化
在波士顿的“宪法号”战舰上向Grace授予“国防部优秀服役勋章”(Defense Distinguished Service Medal) 并为她退休举行的隆重仪式上
Grace在致词中自豪地说她是WAVES成员中最后一个离开岗位的人:
她40岁时就被告知她太老了不宜继续在部队中工作 而她却仍然穿着制服又干了整整40年!

重返海军期间
她担任了好几个海军计算中心的主持者或是顾问 指挥海军的技术人员 到处去演讲 宣传她的观念
有一件很有趣并且很有名的事情
她在演讲之中 总是没有办法让听众听懂什么是nanosecond (十亿分之一秒).
多长的时间是一个nanosecond?
而microsecond (百万分之一秒) 又跟nanosecond差多少?
这一点很难去解释 因为它们都是极短极短的时间 但相差了一千倍  
Grace想到了个点子 她跑到工程部切了段电线 这段电线长11.78 英寸 (约合0.3米) 她就拿着这将近1英尺的电线跟听众说:“这个长度就是电波在一个nanosecond可以跑的距离 ”
同时 她又拿了好几捆电线放到桌上 差不多有1000英尺 (约合300米)  然后她就说:“这个长度就是电波在一个microsecond可以跑的距离
”此时 听众就明白了 所以她说:“你们要小心 绝对不要随便浪费一个microsecond的电 ”

其间 有一位参议员 他从来没见过Grace.
但是他听说了这个人以后 就私下做了些调查 然后在国会里面主动提出了关于Grace的申请案
他认为这样重要的女性不应该在海军里面只做一个校官而已 觉得她应该做将官
国会很快就通过了这个提案 然后通知了海军 海军就将Grace升职了
于是 在1985年11月 Grace成为了海军少将 她是美国第一个到达这个官阶的女性
1986年 她七十九岁 是所有在世的、最年长的、尚未退役的美军军官 此时的她 即将正式退休

尾声
Grace正式退休之后 她又跟Digital公司签约 Digital公司聘请她代表他们演讲、推销他们公司的产品
Digital公司主要的产品是Minicomputer.
事实上 在1986年时PC已经出现 那时叫做Microcomputer
在海军里 Grace Hopper是极力推行使用PC的人之一
她在这方面也有一句名言 她说 在古老的时候 人们都是用牛和马来拉东西 后来人类社会发展得越来越蓬勃 东西越来越重 但是人们并没有使用更大更壮的物种来搬运东西
事实上 人们是用更多的牛和马来做这些更加粗重的工作
她用这个比喻来说 计算机不应该越做越大 而应该用小型的、大量的计算机一起来做要做的事情 (原来Grace在20多年前就提出了并行计算?)
Grace Hopper逝世于1992年1月1日凌晨 在参加了新年Party 之后 准确时间不明
她生前的一个心愿是活到1999年12月31日的晚上 因为她说她想参加那一场Party.
显然 Grace是个很喜欢Party的人

Grace Hopper是个非常amazing的人 (常被称为Amazing Grace) 崇拜她的人相当多
由其中一点我们可以看出来:从1947年开始 (二战结束后第二年) 她获得了第一个荣誉博士学位 (宾州大学) 从那以后 她先后被40多所大学授予荣誉博士学位 其中包括芝加哥大学、华盛顿大学、马里兰大学等知名学府
各种妇女社会团体和学术组织都曾授予Grace各种称号和奖励
1991年 布什总统在白宫授予她的“美国国家技术奖” (National Medal of Technology) 是其中的最高奖项
她也是至今惟一获此殊荣的美国女性
她的名言有很多 她自己最喜欢的 也是她最喜欢对所谓的“年轻人”说的 (在她年老时 她所谓的年轻人就是“年龄不到我的一半的人就叫做年轻人”) 这句话是:
“A ship in port is safe, but that is not what ships are built for.”

语录
下面Grace的语录中有几句比较有意思的话
From then on, when anything went wrong with a computer, we said it had bugs in it.
The most dangerous phrase in the language is, “We’ve always done it this way.”
Humans are allergic to change. They love to say, “We’ve always done it this way.” I try to fight that. That’s why I have a clock on my wall that runs counter-clockwise.
Leadership is a two-way street, loyalty up and loyalty down. Respect for one’s superiors; care for one’s crew.
One accurate measurement is worth a thousand expert opinions.
Someday, on the corporate balance sheet, there will be an entry which reads, “Information”; For in most cases, the information is more valuable than the hardware which processes it.
We’re flooding people with information. We need to feed it through a processor. A human must turn information into intelligence or knowledge. We’ve tended to forget that no computer will ever ask a new question.
To me programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledge.
They told me computers could only do arithmetic.
In pioneer days they used oxen for heavy pulling, and when one ox couldn’t budge a log, they didn’t try to grow a larger ox. We shouldn’t be trying for bigger computers, but for more systems of computers.
Life was simple before World War II. After that, we had systems.
We went overboard on management and forgot about leadership. It might help if we ran the MBAs out of Washington.
At any given moment, there is always a line representing what your boss will believe. If you step over it, you will not get your budget. Go as close to that line as you can.
I seem to do a lot of retiring.
I handed my passport to the immigration officer, and he looked at it and looked at me and said, “What are you?”
//en.wikipedia.org/wiki/Grace_Hopper
国立中央大学数学系:
//libai.math.ncu.edu.tw/bcc16/pool/3.06.shtml
耶鲁大学计算机系:
//cs-www.cs.yale.edu/homes/tap/Files/hopper-story.html
计算机先驱:
//202.207.0.245:9001/jisuanjifazhanshi/xianqu/18.htm
//zhidao.baidu.com/question/461408552804870405.html